The present invention relates to the field of digital imaging, and more particularly to representing an extended color gamut digital image.
In digital imaging systems, there are many ways to represent images in digital form. Not only are there many different formats of digital files, but there are also a large variety of different color spaces and color encodings that can be used to specify the color of digital images.
In some cases, the color encoding can be in terms of a so-called device independent color space, such as the well-known CIELAB color space. In recent years this color space has been used extensively to specify the color of digital images in color-managed digital imaging systems. In some cases, the image may actually be stored in the CIELAB color space. More commonly, the color space can be used to connect device profiles, which can be used to describe the color characteristics of various color imaging devices such as scanners, printers, and CRT video displays. The KODAK Photo YCC Color Interchange Space is another example of a device independent color space that can be used to encode digital images.
In other cases, the color-encoding can be in terms of a device dependent color space. Video RGB color spaces and CMYK color spaces are examples of this type. When a color image is encoded in a device dependent color space, it will have the desired color appearance when it is displayed on the particular output device associated with that color space. The advantage of a device dependent color space is that the image is ready to be displayed or printed on the target device. However, the disadvantage is that the image will necessarily be limited to the color gamut of the target device. Therefore, if the target device has a limited dynamic range, or is incapable of reproducing certain saturated colors, then it is not possible to encode color values outside of the range of colors that can be produced on the device.
One type of device dependent color space that has become quite widespread for use as a storage and manipulation color space for digital images is the video RGB color space. In reality, there are many different video RGB color spaces due to the fact that there are many different types of video RGB displays. As a result, a particular set of video RGB color values will correspond to one color on one video display and to another color on another video display. Therefore, video RGB has historically been a somewhat ambiguous color representation due to the fact that the color values could not be properly interpreted unless the characteristics of the target video display were known. Nonetheless, video RGB color spaces have become the defacto standard in many applications because the creation, display and editing of images on video displays are central steps in many digital imaging systems.
Recently, there have been efforts to standardize a particular video RGB color space in order to remove the ambiguity in the interpretation of the color values. One such proposed standard color space is known as xe2x80x9csRGB.xe2x80x9d (See the proposed IEC TC100 sRGB Draft Standard). This color space specifies a particular set of red, green, and blue primaries, a particular whitepoint, and a particular non-linear code value to light intensity relationship. Together, these tightly define the overall relationship between the digital code values and the corresponding device independent color values.
Although the use of a standard video RGB color space eliminates much of the ambiguity usually associated with video RGB color spaces, it does nothing to address the fact that this color space has a limited color gamut relative to other output devices. Additionally, any output device will have a limited color gamut relative to that of an original scene. For example, a scene can have a luminance dynamic range of 1000:1 or more, whereas a typical video display or reflection print will have a dynamic range on the order of 100:1. Certain image capture devices, such as photographic negative film, can actually record dynamic ranges as large as 8000:1. Even though this is larger than the luminance dynamic range associated with most scenes, the extra dynamic range is often useful to provide allowance for exposure errors, light source variations, etc.
In order to encode images from various sources in a video RGB representation, it is necessary to discard information that is outside the color gamut of the video RGB color space. In some cases, such as when it is desired to encode the appearance of colors in an original scene or the colors captured by a photographic negative, a great deal of information will typically need to be discarded due to the large disparity in the dynamic ranges. For the case where it is desired to scan a reflection print and store it in a video RGB color space, it is still necessary to discard a substantial amount of information due to the mismatch in the color gamuts, even though the luminance dynamic ranges may be quite similar.
For example, FIG. 1 shows a comparison of a typical Video RGB Color Gamut 10 and a typical Reflection Print Color Gamut 12. In this case, a*-b* cross-sections of the color gamuts are shown in the CIELAB space at an L* of 65. The colors that are inside the boundary are within the gamuts of the respective devices, while those that are outside the boundary cannot be reproduced, and are therefore referred to as xe2x80x9cout-of-gamutxe2x80x9d colors. It can be seen that there is a large set of color values with a b* value larger than 60 that can be produced on the printer, but are outside the color gamut of the video display. As a result, if the reflection print were scanned and stored in a video RGB color space, it would not be possible to encode this color information.
The mismatch between the video RGB color gamut and the color gamuts of other output devices and image sources represents a serious limitation on the usefulness of the video RGB color space. However, in many cases, the convenience of storing the image in a color space that is ready for direct display on a computer video CRT has been the over-riding factor in the determination of the preferred color space. This has come at the expense of applications that can utilize the extended color gamut information that may have existed in an input image.
It is an object of the present invention to overcome the limitations of the prior art by permitting the storage of images in a color space having a limited color gamut, while retaining the extended color gamut information.
This object is achieved by a method for representing a digital image having color values with an extended color gamut in a storage color space having a limited color gamut comprising the steps of:
a) providing a color adjustment function;
b) adjusting the color values of the extended color gamut digital image to fit within the limited color gamut to form a limited color gamut digital image using the color adjustment function;
c) representing the limited color gamut digital image in the storage color space; and
d) associating information about the color adjustment function with the limited color gamut digital image in the storage color space such that the associated information and the limited color gamut digital image are adapted to produce a reconstructed extended color gamut digital image.
The present invention has the advantage that a digital image can be stored in a color space convenient for a particular application while overcoming the color gamut limitation associated with that color space.
As a result of the present invention, the image can be stored in a video RGB color space that is well adapted for fast and convenient display on a computer system without compromising the potential applicability of the image for other uses.
It has the additional advantage that the use of the extended color gamut information is optional. Therefore, the benefits of the extended color gamut information can be gained by applications that are able to make use of it, without introducing an image quality or computation penalty for applications that do not require the optional information or that are not able to make use of it.